/**
 * 配置axios,配置完在main.js中挂载
 */
import axios from 'axios'
import { Message } from "element-ui"

// 创建axios实例,配置基础路径
const BASE_URL = process.env.NODE_ENV !== 'production' ? process.env.VUE_APP_DEV_BASE_URL : process.env.VUE_APP_PROD_SERVER_URL
const axiosApi = axios.create({
  baseURL: BASE_URL,
  timeout:5000,
});


// 定义请求拦截器:给所有请求都带上token
axiosApi.interceptors.request.use((req)=>{
  let Auth = sessionStorage.getItem('Authorization');
  if (Auth) {
      req.headers['Authorization'] = Auth
  }
  return req;
},(error)=>{
  console.log('请求拦截器异常===>',error)
  return Promise.reject(error)
});

// 定义响应拦截器: 对服务器响应客户端的数据进行统一处理
axiosApi.interceptors.response.use(res=>{
  if(res.data.success && res.data.code === 200){
    return res.data
  } else {
    Message.error(res.data.msg || '请求异常,请联系管理员')
    return Promise.reject(res.data)
  }
},(error)=>{
  Message.error(error || '请求异常,请联系管理员')
  return Promise.reject(error)
})
 
export { axiosApi }